package com.example.whltest.controller;

import org.redisson.api.RExpirable;
import org.redisson.api.RLockAsync;

import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;

public interface RLock extends Lock, RExpirable, RLockAsync {
   
	void lockInterruptibly(long leaseTime, TimeUnit unit) throws InterruptedException;

	boolean tryLock(long waitTime, long leaseTime, TimeUnit unit) throws InterruptedException;

	void lock(long leaseTime, TimeUnit unit);
	
	boolean forceUnlock();

	boolean isLocked();

	boolean isHeldByCurrentThread();

	int getHoldCount();
}
